package br.gov.cemaden.library.model.pcds;

import br.gov.cemaden.library.model.BaseEntity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;

/**
 *
 * @author alan
 */
@Entity
@Table(name = "pcds_aquisicao", schema = "pcds")
@SequenceGenerator(name = "sequence", sequenceName = "pcds.pcds_aquisicao_sequence", schema = "pcds")
public class Aquisicao implements Serializable, BaseEntity{

    @Id
    @GeneratedValue(generator = "sequence", strategy = GenerationType.AUTO)
    @Column(name = "id_aquisicao", nullable = false, unique = true)
    private Long idAquisicao;
    
    @Column(name = "datahora")
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date datahora;
    
    @Column(name = "status")
    private Integer status;
    
    @Column(name = "atualizado")
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date atualizado;
    
    @JoinColumn(name = "id_estacao", referencedColumnName = "id_estacao")
    @ManyToOne
    private Estacao estacao;    
    
    public Long getId() {
        return this.getIdAquisicao();
    }

    /**
     * @return the idAquisicao
     */
    public Long getIdAquisicao() {
        return idAquisicao;
    }

    /**
     * @param idAquisicao the idAquisicao to set
     */
    public void setIdAquisicao(Long idAquisicao) {
        this.idAquisicao = idAquisicao;
    }

    /**
     * @return the datahora
     */
    public Date getDatahora() {
        return datahora;
    }

    /**
     * @param datahora the datahora to set
     */
    public void setDatahora(Date datahora) {
        this.datahora = datahora;
    }

    /**
     * @return the status
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * @param status the status to set
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * @return the atualizado
     */
    public Date getAtualizado() {
        return atualizado;
    }

    /**
     * @param atualizado the atualizado to set
     */
    public void setAtualizado(Date atualizado) {
        this.atualizado = atualizado;
    }        

    /**
     * @return the estacao
     */
    public Estacao getEstacao() {
        return estacao;
    }

    /**
     * @param estacao the estacao to set
     */
    public void setEstacao(Estacao estacao) {
        this.estacao = estacao;
    }
    
}
